package com.ioc.business.job.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ioc.business.job.domain.JobNodeUseTime;
import com.ioc.business.job.domain.bo.node.use.time.JobNodeUseTimeBo;
import com.ioc.business.job.domain.bo.node.use.time.JobNodeUseTimeQueryBo;
import com.ioc.business.job.vo.node.use.time.JobNodeUseTimeImportVo;
import com.ioc.business.job.vo.node.use.time.JobNodeUseTimePageVo;
import com.ioc.business.job.vo.node.use.time.JobNodeUseTimeVo;
import com.ioc.common.core.page.TableVo;

import java.util.List;

/**
 * <p>
 * 作业节点用时表 服务类
 * </p>
 *
 * @author WeiZhongRong
 * @since 2025-01-08
 */
public interface IJobNodeUseTimeService extends IService<JobNodeUseTime> {

    /**
     * 分页查询作业节点用时列表
     *
     * @param queryBo
     * @return
     */
    TableVo<JobNodeUseTime, JobNodeUseTimePageVo> selectJobNodeUseTimePageList(JobNodeUseTimeQueryBo queryBo);


    /**
     * 查询作业节点用时详情信息
     *
     * @param jobNodeUseTimeId
     * @return
     */

    JobNodeUseTimeVo selectJobNodeUseTimeById(Long jobNodeUseTimeId);

    /**
     * 新增作业节点用时
     *
     * @param bo
     * @return
     */
    boolean addJobNodeUseTime(JobNodeUseTimeBo bo);

    /**
     * 编辑作业节点用时
     *
     * @param bo
     * @return
     */
    boolean updateJobNodeUseTime(JobNodeUseTimeBo bo);

    /**
     * 删除作业节点用时
     *
     * @param idList
     * @return
     */
    boolean removeJobNodeUseTime(List<Long> idList);

    /**
     * 导入发货订单数据
     *
     * @param voList
     */
    void importJobNodeUseTime(List<JobNodeUseTimeImportVo> voList);

}
